/**
 */
package de.nordakademie.hausarbeit.crudframework.domainDsl;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see de.nordakademie.hausarbeit.crudframework.domainDsl.DomainDslFactory
 * @model kind="package"
 * @generated
 */
public interface DomainDslPackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "domainDsl";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://www.nordakademie.de/hausarbeit/crudframework/DomainDsl";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "domainDsl";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  DomainDslPackage eINSTANCE = de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl.init();

  /**
   * The meta object id for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.ApplicationImpl <em>Application</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.ApplicationImpl
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getApplication()
   * @generated
   */
  int APPLICATION = 0;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int APPLICATION__NAME = 0;

  /**
   * The feature id for the '<em><b>Package Declarations</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int APPLICATION__PACKAGE_DECLARATIONS = 1;

  /**
   * The number of structural features of the '<em>Application</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int APPLICATION_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.PackageDeclarationImpl <em>Package Declaration</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.PackageDeclarationImpl
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getPackageDeclaration()
   * @generated
   */
  int PACKAGE_DECLARATION = 1;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PACKAGE_DECLARATION__NAME = 0;

  /**
   * The feature id for the '<em><b>Entities</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PACKAGE_DECLARATION__ENTITIES = 1;

  /**
   * The number of structural features of the '<em>Package Declaration</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PACKAGE_DECLARATION_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.TypeImpl <em>Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.TypeImpl
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getType()
   * @generated
   */
  int TYPE = 2;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE__NAME = 0;

  /**
   * The number of structural features of the '<em>Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DataTypeImpl <em>Data Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DataTypeImpl
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getDataType()
   * @generated
   */
  int DATA_TYPE = 3;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DATA_TYPE__NAME = TYPE__NAME;

  /**
   * The number of structural features of the '<em>Data Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DATA_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.EntityImpl <em>Entity</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.EntityImpl
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getEntity()
   * @generated
   */
  int ENTITY = 4;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENTITY__NAME = TYPE__NAME;

  /**
   * The feature id for the '<em><b>Super Type</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENTITY__SUPER_TYPE = TYPE_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENTITY__ATTRIBUTES = TYPE_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Entity</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENTITY_FEATURE_COUNT = TYPE_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.AttributeImpl <em>Attribute</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.AttributeImpl
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getAttribute()
   * @generated
   */
  int ATTRIBUTE = 5;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ATTRIBUTE__NAME = 0;

  /**
   * The number of structural features of the '<em>Attribute</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ATTRIBUTE_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.SimpleAttributeImpl <em>Simple Attribute</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.SimpleAttributeImpl
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getSimpleAttribute()
   * @generated
   */
  int SIMPLE_ATTRIBUTE = 6;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SIMPLE_ATTRIBUTE__NAME = ATTRIBUTE__NAME;

  /**
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SIMPLE_ATTRIBUTE__TYPE = ATTRIBUTE_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Simple Attribute</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SIMPLE_ATTRIBUTE_FEATURE_COUNT = ATTRIBUTE_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.RefAttributeImpl <em>Ref Attribute</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.RefAttributeImpl
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getRefAttribute()
   * @generated
   */
  int REF_ATTRIBUTE = 7;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_ATTRIBUTE__NAME = ATTRIBUTE__NAME;

  /**
   * The feature id for the '<em><b>Refs</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_ATTRIBUTE__REFS = ATTRIBUTE_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>One</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_ATTRIBUTE__ONE = ATTRIBUTE_FEATURE_COUNT + 1;

  /**
   * The feature id for the '<em><b>Many</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_ATTRIBUTE__MANY = ATTRIBUTE_FEATURE_COUNT + 2;

  /**
   * The feature id for the '<em><b>Type</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_ATTRIBUTE__TYPE = ATTRIBUTE_FEATURE_COUNT + 3;

  /**
   * The number of structural features of the '<em>Ref Attribute</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_ATTRIBUTE_FEATURE_COUNT = ATTRIBUTE_FEATURE_COUNT + 4;

  /**
   * The meta object id for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.RefByAttributeImpl <em>Ref By Attribute</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.RefByAttributeImpl
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getRefByAttribute()
   * @generated
   */
  int REF_BY_ATTRIBUTE = 8;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_BY_ATTRIBUTE__NAME = ATTRIBUTE__NAME;

  /**
   * The feature id for the '<em><b>Ref by</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_BY_ATTRIBUTE__REF_BY = ATTRIBUTE_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>One</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_BY_ATTRIBUTE__ONE = ATTRIBUTE_FEATURE_COUNT + 1;

  /**
   * The feature id for the '<em><b>Many</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_BY_ATTRIBUTE__MANY = ATTRIBUTE_FEATURE_COUNT + 2;

  /**
   * The feature id for the '<em><b>Type</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_BY_ATTRIBUTE__TYPE = ATTRIBUTE_FEATURE_COUNT + 3;

  /**
   * The number of structural features of the '<em>Ref By Attribute</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int REF_BY_ATTRIBUTE_FEATURE_COUNT = ATTRIBUTE_FEATURE_COUNT + 4;


  /**
   * Returns the meta object for class '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.Application <em>Application</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Application</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.Application
   * @generated
   */
  EClass getApplication();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.Application#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.Application#getName()
   * @see #getApplication()
   * @generated
   */
  EAttribute getApplication_Name();

  /**
   * Returns the meta object for the containment reference list '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.Application#getPackageDeclarations <em>Package Declarations</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Package Declarations</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.Application#getPackageDeclarations()
   * @see #getApplication()
   * @generated
   */
  EReference getApplication_PackageDeclarations();

  /**
   * Returns the meta object for class '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.PackageDeclaration <em>Package Declaration</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Package Declaration</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.PackageDeclaration
   * @generated
   */
  EClass getPackageDeclaration();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.PackageDeclaration#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.PackageDeclaration#getName()
   * @see #getPackageDeclaration()
   * @generated
   */
  EAttribute getPackageDeclaration_Name();

  /**
   * Returns the meta object for the containment reference list '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.PackageDeclaration#getEntities <em>Entities</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Entities</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.PackageDeclaration#getEntities()
   * @see #getPackageDeclaration()
   * @generated
   */
  EReference getPackageDeclaration_Entities();

  /**
   * Returns the meta object for class '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.Type <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Type</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.Type
   * @generated
   */
  EClass getType();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.Type#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.Type#getName()
   * @see #getType()
   * @generated
   */
  EAttribute getType_Name();

  /**
   * Returns the meta object for class '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.DataType <em>Data Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Data Type</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.DataType
   * @generated
   */
  EClass getDataType();

  /**
   * Returns the meta object for class '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.Entity <em>Entity</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Entity</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.Entity
   * @generated
   */
  EClass getEntity();

  /**
   * Returns the meta object for the reference '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.Entity#getSuperType <em>Super Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Super Type</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.Entity#getSuperType()
   * @see #getEntity()
   * @generated
   */
  EReference getEntity_SuperType();

  /**
   * Returns the meta object for the containment reference list '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.Entity#getAttributes <em>Attributes</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Attributes</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.Entity#getAttributes()
   * @see #getEntity()
   * @generated
   */
  EReference getEntity_Attributes();

  /**
   * Returns the meta object for class '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.Attribute <em>Attribute</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Attribute</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.Attribute
   * @generated
   */
  EClass getAttribute();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.Attribute#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.Attribute#getName()
   * @see #getAttribute()
   * @generated
   */
  EAttribute getAttribute_Name();

  /**
   * Returns the meta object for class '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.SimpleAttribute <em>Simple Attribute</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Simple Attribute</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.SimpleAttribute
   * @generated
   */
  EClass getSimpleAttribute();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.SimpleAttribute#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Type</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.SimpleAttribute#getType()
   * @see #getSimpleAttribute()
   * @generated
   */
  EAttribute getSimpleAttribute_Type();

  /**
   * Returns the meta object for class '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.RefAttribute <em>Ref Attribute</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Ref Attribute</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.RefAttribute
   * @generated
   */
  EClass getRefAttribute();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.RefAttribute#isRefs <em>Refs</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Refs</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.RefAttribute#isRefs()
   * @see #getRefAttribute()
   * @generated
   */
  EAttribute getRefAttribute_Refs();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.RefAttribute#isOne <em>One</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>One</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.RefAttribute#isOne()
   * @see #getRefAttribute()
   * @generated
   */
  EAttribute getRefAttribute_One();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.RefAttribute#isMany <em>Many</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Many</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.RefAttribute#isMany()
   * @see #getRefAttribute()
   * @generated
   */
  EAttribute getRefAttribute_Many();

  /**
   * Returns the meta object for the reference '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.RefAttribute#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Type</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.RefAttribute#getType()
   * @see #getRefAttribute()
   * @generated
   */
  EReference getRefAttribute_Type();

  /**
   * Returns the meta object for class '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.RefByAttribute <em>Ref By Attribute</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Ref By Attribute</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.RefByAttribute
   * @generated
   */
  EClass getRefByAttribute();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.RefByAttribute#isRef_by <em>Ref by</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Ref by</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.RefByAttribute#isRef_by()
   * @see #getRefByAttribute()
   * @generated
   */
  EAttribute getRefByAttribute_Ref_by();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.RefByAttribute#isOne <em>One</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>One</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.RefByAttribute#isOne()
   * @see #getRefByAttribute()
   * @generated
   */
  EAttribute getRefByAttribute_One();

  /**
   * Returns the meta object for the attribute '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.RefByAttribute#isMany <em>Many</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Many</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.RefByAttribute#isMany()
   * @see #getRefByAttribute()
   * @generated
   */
  EAttribute getRefByAttribute_Many();

  /**
   * Returns the meta object for the reference '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.RefByAttribute#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Type</em>'.
   * @see de.nordakademie.hausarbeit.crudframework.domainDsl.RefByAttribute#getType()
   * @see #getRefByAttribute()
   * @generated
   */
  EReference getRefByAttribute_Type();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  DomainDslFactory getDomainDslFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.ApplicationImpl <em>Application</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.ApplicationImpl
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getApplication()
     * @generated
     */
    EClass APPLICATION = eINSTANCE.getApplication();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute APPLICATION__NAME = eINSTANCE.getApplication_Name();

    /**
     * The meta object literal for the '<em><b>Package Declarations</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference APPLICATION__PACKAGE_DECLARATIONS = eINSTANCE.getApplication_PackageDeclarations();

    /**
     * The meta object literal for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.PackageDeclarationImpl <em>Package Declaration</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.PackageDeclarationImpl
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getPackageDeclaration()
     * @generated
     */
    EClass PACKAGE_DECLARATION = eINSTANCE.getPackageDeclaration();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute PACKAGE_DECLARATION__NAME = eINSTANCE.getPackageDeclaration_Name();

    /**
     * The meta object literal for the '<em><b>Entities</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference PACKAGE_DECLARATION__ENTITIES = eINSTANCE.getPackageDeclaration_Entities();

    /**
     * The meta object literal for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.TypeImpl <em>Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.TypeImpl
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getType()
     * @generated
     */
    EClass TYPE = eINSTANCE.getType();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TYPE__NAME = eINSTANCE.getType_Name();

    /**
     * The meta object literal for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DataTypeImpl <em>Data Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DataTypeImpl
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getDataType()
     * @generated
     */
    EClass DATA_TYPE = eINSTANCE.getDataType();

    /**
     * The meta object literal for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.EntityImpl <em>Entity</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.EntityImpl
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getEntity()
     * @generated
     */
    EClass ENTITY = eINSTANCE.getEntity();

    /**
     * The meta object literal for the '<em><b>Super Type</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ENTITY__SUPER_TYPE = eINSTANCE.getEntity_SuperType();

    /**
     * The meta object literal for the '<em><b>Attributes</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ENTITY__ATTRIBUTES = eINSTANCE.getEntity_Attributes();

    /**
     * The meta object literal for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.AttributeImpl <em>Attribute</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.AttributeImpl
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getAttribute()
     * @generated
     */
    EClass ATTRIBUTE = eINSTANCE.getAttribute();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ATTRIBUTE__NAME = eINSTANCE.getAttribute_Name();

    /**
     * The meta object literal for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.SimpleAttributeImpl <em>Simple Attribute</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.SimpleAttributeImpl
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getSimpleAttribute()
     * @generated
     */
    EClass SIMPLE_ATTRIBUTE = eINSTANCE.getSimpleAttribute();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute SIMPLE_ATTRIBUTE__TYPE = eINSTANCE.getSimpleAttribute_Type();

    /**
     * The meta object literal for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.RefAttributeImpl <em>Ref Attribute</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.RefAttributeImpl
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getRefAttribute()
     * @generated
     */
    EClass REF_ATTRIBUTE = eINSTANCE.getRefAttribute();

    /**
     * The meta object literal for the '<em><b>Refs</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute REF_ATTRIBUTE__REFS = eINSTANCE.getRefAttribute_Refs();

    /**
     * The meta object literal for the '<em><b>One</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute REF_ATTRIBUTE__ONE = eINSTANCE.getRefAttribute_One();

    /**
     * The meta object literal for the '<em><b>Many</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute REF_ATTRIBUTE__MANY = eINSTANCE.getRefAttribute_Many();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference REF_ATTRIBUTE__TYPE = eINSTANCE.getRefAttribute_Type();

    /**
     * The meta object literal for the '{@link de.nordakademie.hausarbeit.crudframework.domainDsl.impl.RefByAttributeImpl <em>Ref By Attribute</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.RefByAttributeImpl
     * @see de.nordakademie.hausarbeit.crudframework.domainDsl.impl.DomainDslPackageImpl#getRefByAttribute()
     * @generated
     */
    EClass REF_BY_ATTRIBUTE = eINSTANCE.getRefByAttribute();

    /**
     * The meta object literal for the '<em><b>Ref by</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute REF_BY_ATTRIBUTE__REF_BY = eINSTANCE.getRefByAttribute_Ref_by();

    /**
     * The meta object literal for the '<em><b>One</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute REF_BY_ATTRIBUTE__ONE = eINSTANCE.getRefByAttribute_One();

    /**
     * The meta object literal for the '<em><b>Many</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute REF_BY_ATTRIBUTE__MANY = eINSTANCE.getRefByAttribute_Many();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference REF_BY_ATTRIBUTE__TYPE = eINSTANCE.getRefByAttribute_Type();

  }

} //DomainDslPackage
